package cn.fl.spdealer.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.spdealer.vo.SplCommDishonestVO;
import sp.dealer.facade.dealer.dto.SplCommDishonestDTO;


 /**
 * @Description: 相关法院失信人记录 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class SplCommDishonestVOTransform {


	/**
	 * DTO 转  VO
	 * @param po SplCommDishonestDTO
	 * @return SplCommDishonestVO
	 */
	public static SplCommDishonestVO toVO(SplCommDishonestDTO dto) {
		SplCommDishonestVO  vo = null;
		if (dto != null) { 
			vo = new SplCommDishonestVO();
			vo.setId(dto.getId());
			vo.setSplType(dto.getSplType());//经销商、挂靠公司类型（经销商：2      挂靠公司：3）
			vo.setSeqNo(dto.getSeqNo());//序列号
			vo.setCaseno(dto.getCaseno());//案号
			vo.setUsername(dto.getUsername());//被执行人姓名/名称
			vo.setType(dto.getType());//失信人类型
			vo.setSex(dto.getSex());//性别
			vo.setAge(dto.getAge());//年龄
			vo.setIdno(dto.getIdno());//身份证号码/工商注册号
			vo.setIdcardsignaddress(dto.getIdcardsignaddress());//身份证原始发证地
			vo.setAggreusername(dto.getAggreusername());//法定代表人/负责人姓名
			vo.setRegdate(dto.getRegdate());//立案时间
			vo.setPubdate(dto.getPubdate());//发布时间
			vo.setExecutecourt(dto.getExecutecourt());//执行法院
			vo.setProvince(dto.getProvince());//省份
			vo.setExecutefileno(dto.getExecutefileno());//执行依据文号
			vo.setShowexecutereasonorg(dto.getShowexecutereasonorg());//做出执行依据单位
			vo.setObligation(dto.getObligation());//生效法律文书确定的义务
			vo.setBehaviordesc(dto.getBehaviordesc());//失信被执行人行为具体情形
			vo.setFulfildesc(dto.getFulfildesc());//被执行人的履行情况
			vo.setFufiled(dto.getFufiled());//已履行
			vo.setUnfulfiled(dto.getUnfulfiled());//未履行
			vo.setInfoSource(dto.getInfoSource());//信息来源接口1：工商信息查询2：高管信息查询（基础版）3：高管信息查询（专业版）

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto SplCommDishonestVO
	 * @return SplCommDishonestDTO
	 */
	public static SplCommDishonestDTO toDTO(SplCommDishonestVO vo) {
		SplCommDishonestDTO dto = null;
		if (vo != null) {
			dto = new SplCommDishonestDTO();
			dto.setId(vo.getId());
			dto.setSplType(vo.getSplType());//经销商、挂靠公司类型（经销商：2      挂靠公司：3）
			dto.setSeqNo(vo.getSeqNo());//序列号
			dto.setCaseno(vo.getCaseno());//案号
			dto.setUsername(vo.getUsername());//被执行人姓名/名称
			dto.setType(vo.getType());//失信人类型
			dto.setSex(vo.getSex());//性别
			dto.setAge(vo.getAge());//年龄
			dto.setIdno(vo.getIdno());//身份证号码/工商注册号
			dto.setIdcardsignaddress(vo.getIdcardsignaddress());//身份证原始发证地
			dto.setAggreusername(vo.getAggreusername());//法定代表人/负责人姓名
			dto.setRegdate(vo.getRegdate());//立案时间
			dto.setPubdate(vo.getPubdate());//发布时间
			dto.setExecutecourt(vo.getExecutecourt());//执行法院
			dto.setProvince(vo.getProvince());//省份
			dto.setExecutefileno(vo.getExecutefileno());//执行依据文号
			dto.setShowexecutereasonorg(vo.getShowexecutereasonorg());//做出执行依据单位
			dto.setObligation(vo.getObligation());//生效法律文书确定的义务
			dto.setBehaviordesc(vo.getBehaviordesc());//失信被执行人行为具体情形
			dto.setFulfildesc(vo.getFulfildesc());//被执行人的履行情况
			dto.setFufiled(vo.getFufiled());//已履行
			dto.setUnfulfiled(vo.getUnfulfiled());//未履行
			dto.setInfoSource(vo.getInfoSource());//信息来源接口1：工商信息查询2：高管信息查询（基础版）3：高管信息查询（专业版）

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<SplCommDishonestDTO>
	 * @return List<SplCommDishonestVO>
	 */
	public static List<SplCommDishonestVO> toVOList(List<SplCommDishonestDTO> list) {
		List<SplCommDishonestVO>  voList = new ArrayList<SplCommDishonestVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SplCommDishonestDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<SplCommDishonestVO>
	 * @return List<SplCommDishonestDTO>
	 */
	public static List<SplCommDishonestDTO> toDTOList(List<SplCommDishonestVO> list) {
		List<SplCommDishonestDTO>  dtoList = new ArrayList<SplCommDishonestDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SplCommDishonestVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
